﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows;

namespace Kokomo.Controls
{
	public class ParallelScrollViewer : ScrollViewer
	{
		static ParallelScrollViewer()
		{
			DefaultStyleKeyProperty.OverrideMetadata(typeof(ParallelScrollViewer), new FrameworkPropertyMetadata(typeof(ParallelScrollViewer)));
		}

		public DependencyObject ParallelContent
		{
			get { return (DependencyObject)GetValue(ParallelContentProperty); }
			set { SetValue(ParallelContentProperty, value); }
		}

		// Using a DependencyProperty as the backing store for ParallelContent.  This enables animation, styling, binding, etc...
		public static readonly DependencyProperty ParallelContentProperty =
			DependencyProperty.Register("ParallelContent", typeof(DependencyObject), typeof(ParallelScrollViewer), new UIPropertyMetadata(null));



		public bool IsParallelContentFrozen
		{
			get { return (bool)GetValue(IsParallelContentFrozenProperty); }
			set { SetValue(IsParallelContentFrozenProperty, value); }
		}

		// Using a DependencyProperty as the backing store for IsParallelContentFrozen.  This enables animation, styling, binding, etc...
		public static readonly DependencyProperty IsParallelContentFrozenProperty =
			DependencyProperty.Register("IsParallelContentFrozen", typeof(bool), typeof(ParallelScrollViewer), new UIPropertyMetadata(false));

		protected override void OnManipulationDelta(System.Windows.Input.ManipulationDeltaEventArgs e)
		{
			base.OnManipulationDelta(e);
		}
		protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e)
		{
			base.OnKeyDown(e);
		}

		protected override void OnScrollChanged(ScrollChangedEventArgs e)
		{
			base.OnScrollChanged(e);
		}
	}
}
